package T21_30;

public class T23 {
      public static class ListNode {
          int val;
          ListNode next;
          ListNode() {}
          ListNode(int val) { this.val = val; }
          ListNode(int val, ListNode next) { this.val = val; this.next = next; }
      }
    public ListNode reverseList(ListNode head) {
        /*思路：1 定义tmp存放当前结点的下一个结点，定义pre指向链表尾部null，cur表示当前结点，从头结点开始
        * 2 遍历链表，令cur.next=pre,tmp=cur.next,pre=cur*/
        ListNode cur=head;
        ListNode pre=null;
        while(cur!=null){
            ListNode tmp=cur.next;
            cur.next=pre;
            pre=cur;
            cur=tmp;
        }
        return pre;
    }
}
